new Vue({
    el:"#app",
    data:{
        pro:{
            id:"",            //产品id
            pName:"",         //产品名
            pSn:"",           //产品描述
            pImg:"",          //产品图片
            iPrice:"",        //网站价
            cid:"",           //当前类别
            pageNum:"",   //当前页码
            total:""      //总页数
        },
        username:"",
        headimg:"",
        kpfUser:"",
        userType:"",      // 用户类型 0：普通用户 1：付费用户 2：管理员
        kpfTopicList:"",
        loginUserId:"0",
        followStatus:"",
        followCount:"",
        total:"",         // 总页数
        pageNum:"1",      // 当前页数,默认为1
        topicList:[]          // 帖子集合
    },
    methods:{
        // 设置评论id
        setTopicId:function (topicId) {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            //axios的post方式需要一个formData来传参
            var formData = new FormData();
            formData.append('topicId', topicId);
            var config = {
                headers: {
                    'Content-Type': 'multipart/form-data'
                }
            }
            axios.post('/consumer/topic/setTopicId',formData,config)
                .then(function (response) {
                    window.location.href = "topicDetail.html";
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        getLoginUserById:function () {
            var _this = this;
            axios.get('/consumer/user/getLoginUserById')
                .then(function (response) {
                    //把返回的user对象的id赋值给这里的id
                    if (response.data != null) {
                        _this.loginUserId = response.data.data.id;
                        _this.username = response.data.data.username;
                        _this.headimg = response.data.data.headimg;
                        _this.userType =  response.data.data.userType;
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        setSelfUserId:function (userId) {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            //axios的post方式需要一个formData来传参
            var formData = new FormData();
            formData.append('userId', userId);
            var config = {
                headers: {
                    'Content-Type': 'multipart/form-data'
                }
            }
            axios.post('/consumer/user/setSelfUserId',formData,config)
                .then(function (response) {
                    // alert(userId + " == " + _this.loginUserId)
                    if (userId == _this.loginUserId) {
                        // 如果id是登录的用户id的话就直接跳转到自己的页面, 否则跳转到其他人的页面
                        window.location.href = "self.html";
                    } else {
                        window.location.href = "other.html";
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        // 获取个人信息内容
        getSelfByUserId:function () {
            var _this = this;
            axios.get('/consumer/user/getByUserId')
                .then(function (response) {
                    //把返回的user对象的id赋值给这里的id
                    if (response.data != null) {
                        _this.kpfUser = response.data.data.kpfUser;
                        _this.kpfTopicList = response.data.data.kpfTopicList;
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        verifyToken:function () {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            axios.get('/consumer/token/verifyToken')
                .then(function (response) {
                    if (response.data.data == "TOKEN_EXPIRED") {
                        alert("token已失效, 请重新登录！");
                        // token失效, 需要重新登陆
                        window.location.href = "login.html";
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        // 登出流程
        loginOut:function () {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            axios.get('/consumer/token/loginOut')
                .then(function (response) {
                    if (response.data.code == 1) {
                        alert("账号已登出！");
                        // 刷新当前页面
                        window.location.reload();
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        // 关注
        followUser:function (userId) {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            //axios的post方式需要一个formData来传参
            var formData = new FormData();
            formData.append('userId', Number(userId));
            var config = {
                headers: {
                    'Content-Type': 'multipart/form-data'
                }
            }
            axios.post('/consumer/follow/followUser',formData,config)
                .then(function (response) {
                    if (response.data.code == 1) {
                        alert("关注成功！");
                        // 刷新当前页面
                        window.location.reload();
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        // 获取用户关注信息
        getFollowInfo:function () {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            axios.get('/consumer/follow/getFollowInfo')
                .then(function (response) {
                    if (response.data.code == 1) {
                        _this.followStatus = response.data.data.followStatus;
                        _this.followCount = response.data.data.followCount;
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        }
    },
    created:function () {

        // 创建的时候先校验token是否合法
        this.verifyToken();

        //创建的时候先执行判断是否登录的方法
        this.getLoginUserById();

        // 获取个人信息内容列表
        this.getSelfByUserId();

        // 获取关注信息
        this.getFollowInfo();

    }
});